package monitor;
import java.io.*;
import java.util.*;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;

public class Monitor {
	public static void main(String[] args) {
			try {
			//orb configuration
			Properties props = new Properties();
			props.put("org.omg.CORBA.ORBInitialPort", "1050");
			props.put("org.omg.CORBA.ORBInitialHost", "localhost");
			//orb initialization
			ORB orb = ORB.init(args, props);
			System.out.println("ORB initialisiert ...");
			}
			catch (Exception ex) {
			System.err.println (ex);
			System.exit(1);
			}
			
			
	}
}

////ORB Eigenschaften setzen
//Properties props = System.getProperties();
//props.put("org.omg.CORBA.ORBInitialPort", args[1]);
//props.put("org.omg.CORBA.ORBInitialHost", args[0]);
////ORB initialisieren
//ORB orb = ORB.init(args, props);
//System.out.println("ORB initialisiert ...");
//
////Referenz auf RootPOA holen (von CORBA definiert)
//POA rootPOA = POAHelper.narrow(
//        orb.resolve_initial_references("RootPOA"));
////aktiviere den POA Manager 
//rootPOA.the_POAManager().activate();
//
////erzeuge Servant
//MonitorImpl monitorImpl = new MonitorImpl();
////aktiviere den Servant (Object ID generieren und in Liste der
////aktiven Objekte eintragen)
//rootPOA.activate_object(monitorImpl);
////Referenz auf Servant holen und diese in ein Java Objekt downcasten
//final lagern.Monitor monitorRef = MonitorHelper.narrow(
//        rootPOA.servant_to_reference(monitorImpl));
//
////Referenz auf Namensdienst holen
//NamingContextExt namingContext = NamingContextExtHelper.narrow(
//        orb.resolve_initial_references("NameService"));
//
////Objektreferenz mit Namen "Lager" besorgen
//final Lager lagerRef = LagerHelper.narrow(
//        namingContext.resolve_str("Lager"));
//
////Monitor aktivieren
//lagerRef.aktiviereMonitor("CEDM", monitorRef);
//System.out.println("Monitor am Lager angemeldet ...");
//System.out.println("Warte auf Nachrichten ...");
//
//Thread monitorHookThread = new Thread(){
//    @Override
//    public void run(){
//        lagerRef.entferneMonitor("MonitorThread", monitorRef);
//        System.out.println("MonitorThread beendet");
//    }
//};
